// DOM 加载完成后执行
 document.addEventListener('DOMContentLoaded', function() {
    // 获取DOM元素
    const contactForm = document.getElementById('contact-form');
    const nameInput = document.getElementById('name');
    const emailInput = document.getElementById('email');
    const messageInput = document.getElementById('message');
    const navLinks = document.querySelectorAll('.sidebar-nav .nav-links a');
    const worksItems = document.querySelectorAll('.work-item');

    // 表单提交处理
    contactForm.addEventListener('submit', function(e) {
        e.preventDefault();
        
        // 简单的表单验证
        if (!nameInput.value || !emailInput.value || !messageInput.value) {
            alert('请填写所有必填字段');
            return;
        }
        
        // 邮箱格式验证
        const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
        if (!emailRegex.test(emailInput.value)) {
            alert('请输入有效的邮箱地址');
            return;
        }
        
        // 创建邮件内容
        const subject = `来自${nameInput.value}的留言 - 个人作品集网站`;
        const body = `姓名：${nameInput.value}%0D%0A邮箱：${emailInput.value}%0D%0A%0D%0A留言内容：%0D%0A${messageInput.value}`;
        
        // 创建mailto链接
        const mailtoLink = `mailto:yjd_neko@qq.com?subject=${encodeURIComponent(subject)}&body=${body}`;
        
        // 打开邮件客户端
        window.location.href = mailtoLink;
        
        // 显示成功消息
        alert('正在打开邮件客户端...\n如果邮件客户端没有自动打开，请手动发送邮件到 yjd_neko@qq.com');
        
        // 重置表单
        contactForm.reset();
    });

    // 导航链接平滑滚动
    navLinks.forEach(link => {
        link.addEventListener('click', function(e) {
            e.preventDefault();
            
            const targetId = this.getAttribute('href');
            const targetElement = document.querySelector(targetId);
            
            window.scrollTo({
                top: targetElement.offsetTop - 0, // 侧边导航栏不需要偏移
                behavior: 'smooth'
            });
        });
    });

    // 主题切换功能
    const themeToggle = document.getElementById('theme-toggle');
    const themeIcon = document.querySelector('.theme-icon');
    const body = document.body;

    // 检查本地存储中的主题设置
    const currentTheme = localStorage.getItem('theme');
    if (currentTheme === 'dark') {
        body.classList.add('dark-theme');
        themeIcon.textContent = '☀️';
    }

    // 主题切换事件
    themeToggle.addEventListener('click', () => {
        body.classList.toggle('dark-theme');
        
        if (body.classList.contains('dark-theme')) {
            themeIcon.textContent = '☀️';
            localStorage.setItem('theme', 'dark');
        } else {
            themeIcon.textContent = '🌙';
            localStorage.setItem('theme', 'light');
        }
    });

    // 作品项悬停效果
    worksItems.forEach(item => {
        const workInfo = item.querySelector('.work-info');
        const originalHeight = workInfo.style.height || 'auto';
        
        item.addEventListener('mouseenter', function() {
            workInfo.style.opacity = '1';
            workInfo.style.transform = 'translateY(0)';
        });
        
        item.addEventListener('mouseleave', function() {
            workInfo.style.opacity = '0.9';
            workInfo.style.transform = 'translateY(0)';
        });
    });

    // 滚动时添加导航栏样式变化（侧边导航栏不需要背景变化）
    window.addEventListener('scroll', function() {
        // 侧边导航栏样式保持不变
    });

    // 为图片添加懒加载功能
    const lazyImages = document.querySelectorAll('img');
    
    if ('IntersectionObserver' in window) {
        const imageObserver = new IntersectionObserver((entries, observer) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    const image = entry.target;
                    // 如果图片路径是占位符，这里可以替换为实际图片路径
                    // image.src = image.dataset.src;
                    image.style.opacity = '1';
                    imageObserver.unobserve(image);
                }
            });
        });
        
        lazyImages.forEach(image => {
            imageObserver.observe(image);
        });
    } else {
        // 降级处理：如果不支持IntersectionObserver，则立即加载所有图片
        lazyImages.forEach(image => {
            // image.src = image.dataset.src;
            image.style.opacity = '1';
        });
    }

    // 为按钮添加点击效果
    const buttons = document.querySelectorAll('.btn');
    
    buttons.forEach(button => {
        button.addEventListener('mousedown', function() {
            this.style.transform = 'scale(0.95)';
        });
        
        button.addEventListener('mouseup', function() {
            this.style.transform = 'scale(1)';
        });
        
        button.addEventListener('mouseleave', function() {
            this.style.transform = 'scale(1)';
        });
    });

    // 移除打字机效果，改为静态显示，由语言切换功能控制
    // 打字机效果会与多语言切换冲突，因此移除
});